The present invention relates generally to storage management, and more specifically, to providing a data stream interface for offloading the inflation/deflation processing of data to a stateless compression accelerator.
With the proliferation of computers and electronic devices, the demand for more data storage space grows at an unprecedented pace. Accordingly, real time data compression algorithms are typically used to realize a more efficient use of finite storage space through the compression of data.
Contemporary applications may require that compression services use the zlib compression library to implement a DEFLATE compression algorithm to compress data and conserve storage space. DEFLATE is a typical lossless data compression algorithm that is specified in Requests for Comments (RFC) 1951. The zlib compression library generally provides a data stream based interface for inflating/deflating data. A typical data stream interface allows an application to break up input data to be inflated/deflated in arbitrary ways across multiple requests and provides arbitrary sized output buffers to hold the results of the inflate/deflate operation.